package com.zzgc.common.entity;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.zzgc.modules.param.PageableParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.io.Serializable;

/**
 * 部门表(AuthDepart)实体类
 *
 * @author makejava
 * @since 2022-11-19 10:10:35
 */
@Data
public class AuthDepart extends PageableParam implements Serializable {
    private static final long serialVersionUID = 407014332336725217L;
    /**
     * 主键
     */
    private Long id;
    /**
     * 部门编号
     */
    @NotNull(message = "部门编号不能为空")
    @ApiModelProperty("部门编号")
    @JsonProperty("aNo")
    private String aNo;
    /**
     * 部门名称
     */
    @NotNull(message = "学校名称不能为空")
    @ApiModelProperty("部门名称")
    @JsonProperty("aName")
    private String aName;
    /**
     * 父级部门id
     */
    @ApiModelProperty("父级部门id")
    @JsonProperty("aParentId")
    private Long aParentId;
    /**
     * 1.教育局 2.学校
     */
    @ApiModelProperty("部门类型1.市教育局 2.区县教育局 3.学校")
    @JsonProperty("aLevel")
    private Integer aLevel;
    /**
     * 部门备注
     */
    @ApiModelProperty("部门备注")
    @JsonProperty("aNote")
    private String aNote;
    /**
     * 排序参数：数字越小越靠前
     */
    @ApiModelProperty("排序参数")
    @JsonProperty("aSort")
    private Integer aSort;
    /**
     * 部门ID
     */
    @ApiModelProperty("部门ID")
    @JsonProperty("aChainId")
    private Long aChainId;
    /**
     * 区域(自己)
     */
    @ApiModelProperty("区域")
    @JsonProperty("aIdBak")
    private String aIdBak;
    /**
     * 父区域(相对)
     */
    @ApiModelProperty("父区域")
    @JsonProperty("aParentIdBak")
    private String aParentIdBak;
    /**
     * 区域ID
     */
    @ApiModelProperty("区域ID")
    @JsonProperty("aRegionId")
    private Long aRegionId;
    /**
     * 部门全称：一级名称-二级名称-三级名称
     */
    @ApiModelProperty("部门全称")
    @JsonProperty("aChainName")
    private String aChainName;
    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    @JsonProperty("aCreateBy")
    private String aCreateBy;
    /**
     * 创建时间
     */
    private Date aCreateDate;
    /**
     * 更新人
     */
    private String aUpdateBy;
    /**
     * 更新时间
     */
    private Date aUpdateDate;
    /**
     * 删除标记：0-未删除，1-已删除
     */
    private Integer aDeleteFlag;

}

